

### 各种点击事件

- (void)mouseDown:(NSEvent *)theEvent;
- (void)rightMouseDown:(NSEvent *)theEvent;
- (void)otherMouseDown:(NSEvent *)theEvent;
- (void)mouseUp:(NSEvent *)theEvent;
- (void)rightMouseUp:(NSEvent *)theEvent;
- (void)otherMouseUp:(NSEvent *)theEvent;
- (void)mouseMoved:(NSEvent *)theEvent;
- (void)mouseDragged:(NSEvent *)theEvent;
- (void)scrollWheel:(NSEvent *)theEvent;  //中间滚轮滚动
- (void)rightMouseDragged:(NSEvent *)theEvent;
- (void)otherMouseDragged:(NSEvent *)theEvent;
- (void)mouseEntered:(NSEvent *)theEvent;
- (void)mouseExited:(NSEvent *)theEvent;



### NSEvent 事件对象

事件对象包含了用户出发事件的所有信息。

- (NSPoint)locationInWindow ; //返回鼠标点击的位置

- (NSUInterger)modifierFlags ; //返回整数类型，告诉程序用户按下了键盘上的那个修饰键。帮助区分Control-click和Shift-Click 

        - (void)mouseDown:(NSEvent *)theEvent{
            NSLog(@"%s %ld",__func__, [theEvent modifierFlags]);
            
            if ([theEvent modifierFlags] & NSControlKeyMask) { //是“按位与”运算
                NSLog(@"按住了Control");  //  00001 & 00001 = YES   0010 & 0001 = NO
            }
        }


- (NSTimeInterval)timestamp ; //机器启动到事件发生的时间间隔
- （NSWindow）window; //返回与事件关联的窗口
- (NSInterger)clickCount ; //表明鼠标是单击还是双击等
- (float)pressure; //用户按压设备的压力值
- (float)deltaX ;//获得鼠标或滚轮的位置改变
- (float)deltaY ;//获得鼠标或滚轮的位置改变
- (float)deltaZ ;//获得鼠标或滚轮的位置改变



### NSOPenPanel 


























